using System.ServiceModel.Description;

namespace Aluetjen.EmailService.Client
{
	internal interface IServiceClientFactory<T>
	{
        ClientCredentials ClientCredentials { get; }

		T CreateClient();

		/// <summary>
		/// Disposes an instance of a client, closing or aborting any open operations
		/// </summary>
		/// <param name="clientInstance">The client instance to dispose</param>
		void DisposeClient(T clientInstance);
	}
}
